home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il_c / ilLink.z / ilLink
Encoding:
Text File  |  2002-10-03  |  33.4 KB  |  727 lines

  1.  
  2.  
  3.  
  4. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllLLLLiiiinnnnkkkk - base class abstraction for object chaining
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      This is a base class and therefore has no inheritance.
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilCdefs.h>
  16.  
  17. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.      ilLink is the base class that implements the ImageVision Library (IL)
  19.      chaining model.  The ilLink class defines the mechanism for chaining
  20.      objects together; objects are linked in a forward (child) or back
  21.      (parent) relation.  Allowing for such relations allows IL to specify
  22.      image objects as inputs or outputs to other objects.  All IL image
  23.      objects are indirectly derived from ilLink.
  24.  
  25.      The ilLink base class implements the IL chaining model by defining the
  26.      parent and child lists and the necessary functions to manage the lists.
  27.      Additionally, ilLink provides a mechanism for managing the state and
  28.      status of an ilLink.
  29.  
  30.      UUUUssssiiiinnnngggg iiiillllLLLLiiiinnnnkkkk
  31.  
  32.      ilLink is a base class used for chaining other ilLink derived objects.
  33.      It is intended to be used as a base class for deriving new types of
  34.      chainable objects.
  35.  
  36.      The ilLink class provides protected and public member functions. The
  37.      protected functions can only be called from a derived class. They may be
  38.      used, for example, to query or set its state and status.  The public
  39.      functions can be called from either a derived class or an application
  40.      program. The public functions are used to manage the parent and child
  41.      links of the ilLink object.
  42.  
  43.      DDDDeeeeffffiiiinnnniiiinnnngggg aaaannnndddd aaaacccccccceeeessssssssiiiinnnngggg oooobbbbjjjjeeeecccctttt ddddeeeessssccccrrrriiiippppttttiiiioooonnnnssss
  44.  
  45.      Methods are provided to obtain the class and base class names of objects
  46.      derived from ilLink.  There are also methods to get and set a description
  47.      string for objects derived from ilLink.  Finally, there is a default
  48.      description string for a particular subclass that is used when no
  49.      description string has been explicitly set.
  50.  
  51.      UUUUssssiiiinnnngggg pppprrrrooooppppeeeerrrrttttiiiieeeessss
  52.  
  53.      Methods are provided to set and query property values by name on an
  54.      object derived from ilLink.  A property value can be an integer, a
  55.      floating point number, or a pointer.  The name is a character string.
  56.      This feature enables one to tag objects with arbitrary attributes.  There
  57.      are three scope levels provided for setting and querying property values:
  58.      the object instance, the object class, and a global scope.  When
  59.      retrieving a property value, more than one scope can be specified.  If
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  71.  
  72.  
  73.  
  74.      so, then each of the specified scopes is searched in this order: the
  75.      object instance scope, then the object class scope, then the global
  76.      scope.
  77.  
  78. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  79.      DDDDeeeessssttttrrrruuuuccccttttoooorrrr
  80.  
  81.           void ilLinkDelete(ilLink *link)
  82.  
  83.  
  84.      MMMMaaaannnnaaaaggggiiiinnnngggg tttthhhheeee PPPPaaaarrrreeeennnntttt aaaannnndddd CCCChhhhiiiilllldddd rrrreeeellllaaaattttiiiioooonnnnssss
  85.  
  86.           int ilGetNumParents(ilLink* link)
  87.           ilLink* ilGetDirectParent(ilLink* link, int index)
  88.           ilLink* ilGetParent(ilLink* link, int index)
  89.           ilStatus ilSetParent(ilLink* link, ilLink* parent, int idx)
  90.           ilStatus ilRemoveParent(ilLink* link, int idx)
  91.           int ilGetNumChildren(ilLink* link)
  92.           void ilSetEnabled(ilLink* link, int enable)
  93.           int ilIsEnabled(ilLink* link)
  94.           void ilSetDisabledIndex(ilLink* link, int parentIndex)
  95.           int ilGetDisabledIndex(ilLink* link)
  96.           void ilClearSet(ilLink* link, int mask)
  97.           ilLink* ilGetRelatedChild(int type)
  98.           int ilGetRelatedType()
  99.           void ilSetRelatedType(int rtype, int ignoreDisable)
  100.           int ilGetRelatedDelete()
  101.           void ilSetRelatedDelete(int del)
  102.           int ilLinkIsRelated(ilLink *obj)
  103.  
  104.  
  105.      MMMMaaaannnnaaaaggggiiiinnnngggg ssssttttaaaatttteeee
  106.  
  107.           int ilIsAltered(int mask)
  108.           int ilIsSet(int mask)
  109.           void ilIsAllowed(int mask)
  110.           ilStatus ilGetStatus(ilLink* link)
  111.           void ilClearStatus(ilLink* link)
  112.           unsigned int ilLinkGetGenerationID(ilLink *obj)
  113.  
  114.  
  115.      AAAAcccccccceeeessssssssiiiinnnngggg oooobbbbjjjjeeeecccctttt ddddeeeessssccccrrrriiiippppttttiiiioooonnnnssss
  116.  
  117.           char* ilGetClassName(ilLink* link, int parentIdx)
  118.           char* ilGetDescription(ilLink* link, int ignoreDefault)
  119.           ilStatus ilSetDescription(ilLink* link, char* desc, ilScope scope)
  120.  
  121.  
  122.      AAAAcccccccceeeessssssssiiiinnnngggg oooobbbbjjjjeeeecccctttt pppprrrrooooppppeeeerrrrttttyyyy lllliiiissssttttssss
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  137.  
  138.  
  139.  
  140.           int ilGetIntProp(ilLink* link, char* s, ilScope scope)
  141.           float ilGetFloatProp(ilLink* link, char* s, ilScope scope)
  142.           void* ilGetPtrProp(ilLink* link, char* s, ilScope scope)
  143.           ilStatus ilSetIntProp(ilLink* link, char* s, int i, ilScope scope)
  144.           ilStatus ilSetFloatProp(ilLink* link, char* s, float f, ilScope scope)
  145.           ilStatus ilSetPtrProp(ilLink* link, char* s, void* p, ilScope scope)
  146.           ilStatus ilRemoveProp(ilLink* link, char* s, ilScope scope)
  147.  
  148.  
  149.      HHHHaaaarrrrddddwwwwaaaarrrreeee hhhhiiiinnnntttt mmmmaaaannnnaaaaggggeeeemmmmeeeennnntttt ilStatus ilSetHwHint(ilHwHint* hint, int
  150.      adopt=FALSE) ilStatus ilSetHwIntHint(int hintID, int val) ilStatus
  151.      ilSetHwIntHintName(const char* hintName, int val) const ilHwHint*
  152.      ilGetHwHint(int hintID) const ilHwHint* ilGetHwHintName(const char*
  153.      hintName) int ilGetHwIntHint(int hintID, int* val) int
  154.      ilGetHwIntHintName(const char* hintName, int* val) ilStatus
  155.      ilRemoveHwHint(int hintID) ilStatus ilRemoveHwHintName(const char*
  156.      hintName)
  157.  
  158. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  159.      iiiillllLLLLiiiinnnnkkkkDDDDeeeelllleeeetttteeee(((())))
  160.  
  161.           void ilLinkDelete(ilLink *link)
  162.  
  163.  
  164.      Deletes the object referenced by _l_i_n_k.
  165.  
  166.      aaaalllltttteeeerrrrAAAAccccttttiiiioooonnnn(((())))
  167.  
  168.           virtual void alterAction()                              _p_r_o_t_e_c_t_e_d
  169.  
  170.  
  171.           This virtual is called when an object is first marked altered after
  172.           a reset.  It can be defined to handle special circumstances (like
  173.           recovering memory in ilMemCacheImg) but most users should use the
  174.           rrrreeeesssseeeetttt() virtual to handle alterations to an object.
  175.  
  176.      cccclllleeeeaaaarrrrSSSSeeeetttt(((())))
  177.  
  178.           void ilClearSet(ilLink* link, int mask)
  179.  
  180.  
  181.           Resets a predefined parameter by the specified _m_a_s_k.
  182.  
  183.      cccclllleeeeaaaarrrrSSSSttttaaaattttuuuussss(((())))
  184.  
  185.           void ilClearStatus(ilLink *link)
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  203.  
  204.  
  205.  
  206.           Clears the status returned by ggggeeeettttSSSSttttaaaattttuuuussss(((()))) to ilOKAY.  ggggeeeettttCCCCllllaaaassssssssNNNNaaaammmmeeee(((())))
  207.  
  208.           virtual char* getClassName(int parentIdx=0)
  209.           char* ilGetClassName(ilLink* link, int parentIdx)
  210.  
  211.  
  212.           Returns the name of the object's class as a character string.  The
  213.           _p_a_r_e_n_t_I_d_x parameter allows the name of a parent class to be
  214.           retrieved; it's value specifies the number of hops up the
  215.           inheritance chain.  A value of zero (the default) fetches this
  216.           class's name, a value of one returns the immediate parent class's
  217.           name, and so on.
  218.  
  219.      char* ilGetDescription(ilLink* link, int ignoreDefault)
  220.  
  221.  
  222.  
  223.      Returns the object's description string.  If no description string has
  224.      been defined (by sssseeeettttDDDDeeeessssccccrrrriiiippppttttiiiioooonnnn), then the default description string is
  225.      returned unless the flag _i_g_n_o_r_e_D_e_f_a_u_l_t is _T_R_U_E in which case _N_U_L_L is
  226.      returned.
  227.  
  228.      ggggeeeettttDDDDiiiirrrreeeeccccttttPPPPaaaarrrreeeennnntttt(((())))
  229.  
  230.           int ilGetDirectParent(ilLink *link, int index)
  231.  
  232.  
  233.           Returns a pointer to the ilLink at index _i_n_d_e_x in the parent list,
  234.           even if that parent has been disabled with setEnabled(FALSE).  NULL
  235.           is returned if there is no ilLink at the specified index.  See
  236.           ggggeeeettttPPPPaaaarrrreeeennnntttt().
  237.  
  238.      ggggeeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx(((())))
  239.  
  240.           int ilGetDisabledIndex(ilLink* link)
  241.  
  242.  
  243.           Returns the index of the parent to be used in place of this object
  244.           when it is disabled.  See sssseeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx(), iiiissssEEEEnnnnaaaabbbblllleeeedddd() and
  245.           sssseeeettttEEEEnnnnaaaabbbblllleeeedddd().
  246.  
  247.      ggggeeeettttFFFFllllooooaaaattttPPPPrrrroooopppp(((())))
  248.  
  249.           float ilGetFloatProp(ilLink* link, char* s, ilScope scope)
  250.  
  251.  
  252.           Return the float property value associated with the string _s or _0 if
  253.           no such property has been defined.  The _s_c_o_p_e argument specifies the
  254.           search range for property lookup.  See the explanation of _s_c_o_p_e
  255.           under ggggeeeettttIIIInnnnttttPPPPrrrroooopppp().
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  269.  
  270.  
  271.  
  272.      ggggeeeettttGGGGeeeennnneeeerrrraaaattttiiiioooonnnnIIIIDDDD(((())))
  273.  
  274.           unsigned int ilLinkGetGenerationID(ilLink *obj)
  275.  
  276.  
  277.           Returns the ID of _o_b_j. The ID is a number unique across all
  278.           instantiated objects derived from ilLink.  The ID changes every time
  279.           the object is altered, so it may be used for an inexpensive check of
  280.           whether an object has changed.
  281.  
  282.      ggggeeeettttHHHHwwwwHHHHiiiinnnntttt(((())))
  283.  
  284.           const ilHwHint* ilGetHwHint(ilLink* link, int hintID)
  285.           const ilHwHint* ilGetHwHint(ilLink* link, const char* hintName)
  286.           int ilGetHwIntHint(int hintID, int* val)
  287.           int ilGetHwIntHintName(const char* hintName, int* val)
  288.  
  289.  
  290.           This function returns a pointer to the ilHwHint associated with
  291.           either the given _h_i_n_t_I_D or _h_i_n_t_N_a_m_e. If the requested hint has not
  292.           been set on this object (using sssseeeettttHHHHwwwwHHHHiiiinnnntttt()), then the global hints
  293.           are searched for this hint.  If the hint has also not been set
  294.           globally, then this method returns NULL.  The ggggeeeettttHHHHwwwwIIIInnnnttttHHHHiiiinnnntttt() methods
  295.           provide a simpler interface to access integer hints that were
  296.           previously set using sssseeeettttHHHHwwwwIIIInnnnttttHHHHiiiinnnntttt() or iiiillllHHHHwwwwSSSSeeeettttGGGGlllloooobbbbaaaallllIIIInnnnttttHHHHiiiinnnntttt().  The
  297.           ggggeeeettttHHHHwwwwIIIInnnnttttHHHHiiiinnnntttt() methods return _T_R_U_E if the hint is defined, and sets
  298.           the integer pointed-to by the _v_a_l parameter to the hint value if it
  299.           is defined.  The contents of _v_a_l are unchanged if the hint is
  300.           undefined.  See iiiillllHHHHwwwwHHHHiiiinnnntttt((((3333)))) for specific information on IL-
  301.           recognized hints.  int ilGetIntProp((((iiiillllLLLLiiiinnnnkkkk**** lllliiiinnnnkkkk,,,, cccchhhhaaaarrrr**** ssss,,,, iiiillllSSSSccccooooppppeeee
  302.           ssssccccooooppppeeee))))
  303.  
  304.  
  305.  
  306.      Return the integer property value associated with the string _s or _0 if no
  307.      such property has been defined.
  308.  
  309.      The _s_c_o_p_e argument specifies the search range for property lookup.  It
  310.      can be any logically OR'ed combination of _i_l_I_n_s_t_a_n_c_e_S_c_o_p_e, _i_l_C_l_a_s_s_S_c_o_p_e,
  311.      and _i_l_G_l_o_b_a_l_S_c_o_p_e.  If _i_l_I_n_s_t_a_n_c_e_S_c_o_p_e is specified, then the object's
  312.      property set is searched.  If _i_l_C_l_a_s_s_S_c_o_p_e is specified, then the
  313.      object's class property set is searched.  Finally, if _i_l_G_l_o_b_a_l_S_c_o_p_e is
  314.      specified, then the global property set is searched.  If more than one of
  315.      of the search scopes is specified, then each of the specified scopes is
  316.      searched in this order: the object instance scope, then the object class
  317.      scope, then the global scope.
  318.  
  319.      ggggeeeettttNNNNuuuummmmCCCChhhhiiiillllddddrrrreeeennnn(((())))
  320.  
  321.           int ilGetNumChildren(ilLink *link)
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  335.  
  336.  
  337.  
  338.           Returns the length of the children list.
  339.  
  340.      ggggeeeettttNNNNuuuummmmPPPPaaaarrrreeeennnnttttssss(((())))
  341.  
  342.           int ilGetNumParents(ilLink *link)
  343.  
  344.  
  345.           Returns the length of the parent list.
  346.  
  347.      ggggeeeettttPPPPaaaarrrreeeennnntttt(((())))
  348.  
  349.           int ilGetParent(ilLink *link, int index)
  350.  
  351.  
  352.           Returns a pointer to the ilLink at index _i_n_d_e_x in the parent list.
  353.           NULL is returned if there is no ilLink at the specified index. If
  354.           the selected parent of this object has been disabled with
  355.           setEnabled(FALSE), the actual parent returned will be the parent's
  356.           parent designated with sssseeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx().  If that grandparent is
  357.           also disabled the process will be repeated until an enabled (great-
  358.           ...)great-grandparent is found or there are no more ancestors, in
  359.           which case NULL is returned.  See sssseeeettttEEEEnnnnaaaabbbblllleeeedddd() and
  360.           sssseeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx().
  361.  
  362.      ggggeeeettttPPPPttttrrrrPPPPrrrroooopppp(((())))
  363.  
  364.           void* ilGetPtrProp(ilLink* link, char* s, ilScope scope)
  365.  
  366.  
  367.           Return the pointer property value associated with the string _s or
  368.           _N_U_L_L if no such property has been defined.
  369.  
  370.           The _s_c_o_p_e argument specifies the search range for property lookup.
  371.           See the explanation of _s_c_o_p_e under ggggeeeettttIIIInnnnttttPPPPrrrroooopppp().
  372.  
  373.      ggggeeeettttRRRReeeellllaaaatttteeeeddddCCCChhhhiiiilllldddd(((())))
  374.  
  375.           ilLink* ilGetRelatedChild(int type)
  376.  
  377.  
  378.           Returns a pointer to the child with the indicated related type, if
  379.           any, or NULL otherwise.
  380.  
  381.      ggggeeeettttRRRReeeellllaaaatttteeeeddddDDDDeeeelllleeeetttteeee(((())))
  382.  
  383.           int ilGetRelatedDelete()
  384.  
  385.  
  386.           Returns TRUE if and only if this image has been marked as a related
  387.           child to be deleted automatically when the parent is reset.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  401.  
  402.  
  403.  
  404.      ggggeeeettttRRRReeeellllaaaatttteeeeddddTTTTyyyyppppeeee(((())))
  405.  
  406.           int ilGetRelatedType()
  407.  
  408.  
  409.           Returns the related type of this image or zero if the image is not a
  410.           related child.
  411.  
  412.      ggggeeeettttSSSSttttaaaattttuuuussss(((())))
  413.  
  414.           ilStatus ilGetStatus(ilLink* link)
  415.  
  416.  
  417.           Returns the value of the status data member.  The possible constants
  418.           that can be returned are defined in the <_i_l/_i_l_E_r_r_o_r._h> header file.
  419.  
  420.      iiiinnnnPPPPrrrrooooggggrrrreeeessssssss(((())))
  421.  
  422.           int inProgress()                                     _p_r_o_t_e_c_t_e_d
  423.  
  424.  
  425.           Returns TRUE if the _i_l_L_i_n_k_P_a_r_a_m value, _i_l_L_P_i_n_P_r_o_g_r_e_s_s, is set.  int
  426.           ilIsAllowed(int mask)
  427.  
  428.  
  429.  
  430.      Returns TRUE if the parameter _m_a_s_k is set in the _a_l_l_o_w_e_d data member.
  431.      The parameter, _m_a_s_k, must be a valid ilLinkParam value, as defined in the
  432.      header file <_i_l/_i_l_L_i_n_k._h>.
  433.  
  434.      iiiissssAAAAlllltttteeeerrrreeeedddd(((())))
  435.  
  436.           int ilIsAltered(int mask)
  437.  
  438.  
  439.           Returns TRUE if the parameter _m_a_s_k is set in the _a_l_t_e_r_e_d data
  440.           member.  The parameter, _m_a_s_k, must be a valid ilLinkParam value, as
  441.           defined in the header file <_i_l/_i_l_L_i_n_k._h>.
  442.  
  443.      iiiissssEEEEnnnnaaaabbbblllleeeedddd(((())))
  444.  
  445.           int ilIsEnabled(ilLink* link)
  446.  
  447.  
  448.           Returns TRUE if this object is enabled (the default state), FALSE
  449.           otherwise.  See sssseeeettttEEEEnnnnaaaabbbblllleeeedddd() for details on what it means to be
  450.           enabled or disabled.
  451.  
  452.      iiiissssRRRReeeellllaaaatttteeeedddd(((())))
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  467.  
  468.  
  469.  
  470.           int ilLinkIsRelated(ilLink *obj)
  471.  
  472.  
  473.           Returns FALSE if the object is not related; TRUE otherwise.
  474.  
  475.      iiiissssSSSSeeeetttt(((())))
  476.  
  477.           int ilIsSet(int mask)
  478.  
  479.  
  480.           Returns TRUE if the _i_l_L_i_n_k_P_a_r_a_m specified by _m_a_s_k has been
  481.           previously set.
  482.  
  483.      rrrreeeemmmmoooovvvveeeeHHHHwwwwHHHHiiiinnnntttt(((())))
  484.  
  485.           ilStatus ilRemoveHwHint(ilLink* link, int hintID)
  486.           ilStatus ilRemoveHwHint(ilLink* link, const char* hintName)
  487.  
  488.  
  489.           This method removes the hardware hint associated with the given
  490.           hintID or hintName.
  491.  
  492.      rrrreeeemmmmoooovvvveeeePPPPaaaarrrreeeennnntttt(((())))
  493.  
  494.           ilStatus ilRemoveParent(ilLink* link, int index)
  495.  
  496.  
  497.           This function removes the ilLink indexed by _i_n_d_e_x and marks this
  498.           IilLink objects's state as _a_l_t_e_r_e_d.
  499.  
  500.      rrrreeeemmmmoooovvvveeeePPPPrrrroooopppp(((())))
  501.  
  502.           ilStatus ilRemoveProp(ilLink* link, char* s, ilScope scope)
  503.  
  504.  
  505.           Remove the property associated with the string _s from the specified
  506.           property set.  The _s_c_o_p_e argument selects the property set from
  507.           which the property is removed.  See the explanation of _s_c_o_p_e under
  508.           sssseeeettttPPPPrrrroooopppp().  The object is not marked altered as a result of
  509.           rrrreeeemmmmoooovvvveeeePPPPrrrroooopppp().
  510.  
  511.      sssseeeettttDDDDeeeessssccccrrrriiiippppttttiiiioooonnnn(((())))
  512.  
  513.           ilStatus ilSetDescription(ilLink* link, char* desc, ilScope scope)
  514.  
  515.  
  516.           Set the object's description string to be that pointed to by _d_e_s_c.
  517.           Later calls to ggggeeeettttDDDDeeeessssccccrrrriiiippppttttiiiioooonnnn() will return this string.  The
  518.           argument _s_c_o_p_e can have value _i_l_I_n_s_t_a_n_c_e_S_c_o_p_e or _i_l_C_l_a_s_s_S_c_o_p_e.  In
  519.           the former case, the description string applies to the object only.
  520.           In the latter case, it applies to all objects of that class.  This
  521.           method returns _i_l_O_K_A_Y if the value of _s_c_o_p_e has value
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  533.  
  534.  
  535.  
  536.           _i_l_I_n_s_t_a_n_c_e_S_c_o_p_e or _i_l_C_l_a_s_s_S_c_o_p_e and _i_l_U_N_S_U_P_P_O_R_T_E_D otherwise.  The
  537.           object is not marked altered as a result of sssseeeettttDDDDeeeessssccccrrrriiiippppttttiiiioooonnnn().
  538.  
  539.      sssseeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx(((())))
  540.  
  541.           void ilSetDisabledIndex(ilLink* link, int parentIndex)
  542.  
  543.  
  544.           Sets the index of the parent to be used in place of this object,
  545.           when it is disabled, to _p_a_r_e_n_t_I_n_d_e_x.  The default of this index upon
  546.           construction is zero.  See ggggeeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx(), iiiissssEEEEnnnnaaaabbbblllleeeedddd() and
  547.           sssseeeettttEEEEnnnnaaaabbbblllleeeedddd().
  548.  
  549.      sssseeeettttEEEEnnnnaaaabbbblllleeeedddd(((())))
  550.  
  551.           void ilSetEnabled(ilLink* link, int enable)
  552.  
  553.  
  554.           This function sets the enabled status of this object to _e_n_a_b_l_e.  If
  555.           _e_n_a_b_l_e is TRUE, then this object will participate normally in a
  556.           chain of objects.  If _e_n_a_b_l_e is FALSE, a chain with this object in
  557.           it will behave as if the object were removed from the chain; this
  558.           object's children's parents will appear to the parent of this object
  559.           designated with sssseeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx().  A disabled object that is
  560.           directly accessed (say via ccccooooppppyyyyTTTTiiiilllleeee(), will behave normally, only
  561.           accesses through a child's ggggeeeettttPPPPaaaarrrreeeennnntttt() method are affected.  Since
  562.           ilView uses ggggeeeettttPPPPaaaarrrreeeennnntttt() to find its input, even the end of a chain
  563.           being displayed through ilDisplay/ilView can be successfuly
  564.           disabled.  The default enable state for a newly constucted object is
  565.           TRUE.  See sssseeeettttDDDDiiiissssaaaabbbblllleeeeddddIIIInnnnddddeeeexxxx(), ilDisplay and ilView.  ilStatus
  566.           ilSetHwHint(ilLink* link, ilHwHint* hint, int adopt) ilStatus
  567.           ilSetHwIntHint(int hintID, int val) ilStatus
  568.           ilSetHwIntHintName(const char* hintName, int val)
  569.  
  570.  
  571.  
  572.      Set a hardware hint for this image. The adopt argument indicates whether
  573.      this ilLink should adopt the responsibility for releasing the storage
  574.      associated with the hint. If set to TRUE then the ilLink will ensure that
  575.      the hint is deleted when no longer needed.  The setHwIntHint methods
  576.      provide a simpler interface to set integer-valued hints.  Hints that are
  577.      set in this manner are always adopted and managed internally.  The hintID
  578.      is a global identifier that is associated with the particular hint name.
  579.      It can be found using the function ilHwFindHintID.
  580.  
  581.      sssseeeettttPPPPaaaarrrreeeennnntttt(((())))
  582.  
  583.           int ilSetParent(ilLink* link, ilLink* parent, int index)
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  599.  
  600.  
  601.  
  602.           Replaces the ilLink at _i_n_d_e_x with _p_a_r_e_n_t and sets the state to
  603.           _a_l_t_e_r_e_d. If _p_a_r_e_n_t already exists at _i_n_d_e_x, then ilOKAY is returned
  604.           and the state is not altered.
  605.  
  606.      sssseeeettttPPPPrrrroooopppp(((())))
  607.  
  608.           ilStatus ilSetIntProp(ilLink* link, char* s, int i, ilScope scope)
  609.           ilStatus ilSetFloatProp(ilLink* link, char* s, float f, ilScope scope)
  610.           ilStatus ilSetPtrProp(ilLink* link, char* s, void* p, ilScope scope)
  611.  
  612.  
  613.           Assign a property value associated with the string _s.  The property
  614.           value can be an integer, a floating point number, or a pointer.  The
  615.           functions iiiillllSSSSeeeettttIIIInnnnttttPPPPrrrroooopppp(), iiiillllSSSSeeeettttFFFFllllooooaaaattttPPPPrrrroooopppp(), and iiiillllSSSSeeeettttPPPPttttrrrrPPPPrrrroooopppp()
  616.           select each of these three possibilities.  The _s_c_o_p_e argument
  617.           selects the property set under which the property value is stored.
  618.           It can be one of _i_l_I_n_s_t_a_n_c_e_S_c_o_p_e, _i_l_C_l_a_s_s_S_c_o_p_e, or _i_l_G_l_o_b_a_l_S_c_o_p_e.
  619.           If _i_l_I_n_s_t_a_n_c_e_S_c_o_p_e is specified, then the object's property set is
  620.           selected.  If _i_l_C_l_a_s_s_S_c_o_p_e is specified, then the object's class
  621.           property set is selected.  Finally, if _i_l_G_l_o_b_a_l_S_c_o_p_e is specified,
  622.           then the global property set is selected.  The function returns
  623.           _i_l_O_K_A_Y if _s_c_o_p_e is one of _i_l_I_n_s_t_a_n_c_e_S_c_o_p_e, _i_l_C_l_a_s_s_S_c_o_p_e, and
  624.           _i_l_G_l_o_b_a_l_S_c_o_p_e.  Otherwise, it returns _i_l_U_N_S_U_P_P_O_R_T_E_D.  The object is
  625.           not marked altered as a result of sssseeeettttPPPPrrrroooopppp().
  626.  
  627.      sssseeeettttPPPPrrrrooooppppAAAAlllltttteeeerrrreeeedddd(((())))
  628.  
  629.           void setPropAltered(iflName* propName)                    _p_r_o_t_e_c_t_e_d
  630.  
  631.  
  632.           Sets all children (and descendants) that have the property defined
  633.           and non-zero to be altered.  This method is used by the ilHwHints
  634.           mechanism to propagate hint change notifications to all objects that
  635.           have been marked as being interested in hint changes.
  636.  
  637.      sssseeeettttRRRReeeellllaaaatttteeeeddddDDDDeeeelllleeeetttteeee(((())))
  638.  
  639.           void ilSetRelatedDelete(int del)
  640.  
  641.  
  642.           Set the related child delete flag to _d_e_l.  If the flag is set TRUE
  643.           then this image will be deleted automatically when the parent is
  644.           reset.
  645.  
  646.      sssseeeettttRRRReeeellllaaaatttteeeeddddTTTTyyyyppppeeee(((())))
  647.  
  648.           void ilSetRelatedType(int rtype, int ignoreDisable)
  649.  
  650.  
  651.           Marks an image as related child of type _r_t_y_p_e.  If _i_g_n_o_r_e_D_i_s_a_b_l_e is
  652.           TRUE then the image will not pay attention to the disable status of
  653.           its immediate parent, thus ensuring that it is only associated with
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. iiiillllLLLLiiiinnnnkkkk((((3333))))          IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll          iiiillllLLLLiiiinnnnkkkk((((3333))))
  665.  
  666.  
  667.  
  668.           that particular image.
  669.  
  670. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  671.      ilImage, iflList, ilPropSet, ilWatchedObject, ilHwHint, <_i_l/_i_l_L_i_n_k._h>,
  672.      <_i_l/_i_l_E_r_r_o_r._h>, <_i_l/_i_l_T_y_p_e_s._h>
  673.  
  674.      Please refer to the _I_m_a_g_e_V_i_s_i_o_n _L_i_b_r_a_r_y _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e for a full
  675.      description of overall concepts and architecture.
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.